--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node / ReticulumProjects / MeshChatX.git / files / meshchatx / src / frontend / components / rnode / RNodeFlashAction.vue
Displaying Raw • Download
meshchatx/src/frontend/components/rnode/RNodeFlashAction.vue e0f1f99cd1c208c5008a936230c38e448dddd45d (e0f1f99c) Text, 2.46 KB
T8b949e<!-- SPDX-License-Identifier: 0BSD -->
Tb4b4b4<Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-3"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3errorMessageTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-2 p-3 rounded-xl bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800"
Te6edf3roleTff7b72=Ta5d6ff"alert"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Te6edf3icon-nameTff7b72=Ta5d6ff"alert-circle"
Te6edf3classTff7b72=Ta5d6ff"size-4 mt-0.5 text-red-600 dark:text-red-400 shrink-0"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-xs text-red-600 dark:text-red-400 wrap-break-word"Tb4b4b4>Tff7b72{{ Te6edf3errorMessage Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72button
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Tff7b72!Te6edf3canFlash Tff7b72|| Te6edf3isFlashingTa5d6ff"
Te6edf3data-testidTff7b72=Ta5d6ff"rnode-flash-btn"
Te6edf3classTff7b72=Ta5d6ff"w-full inline-flex items-center justify-center gap-2 rounded-xl bg-green-600 hover:bg-green-700 px-4 py-3 text-sm font-bold text-white shadow-lg shadow-green-600/20 transition-all active:scale-[0.98] disabled:opacity-50 disabled:cursor-not-allowed"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3$emitTb4b4b4(Ta5d6ff'flash'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-progress-circular Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3isFlashingTa5d6ff" Te6edf3indeterminate Te6edf3sizeTff7b72=Ta5d6ff"16" Te6edf3widthTff7b72=Ta5d6ff"2" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3v-else Te6edf3icon-nameTff7b72=Ta5d6ff"flash" Te6edf3classTff7b72=Ta5d6ff"size-5" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>
Tff7b72{{
Te6edf3isFlashing
Tff7b72? Te6edf3$tTb4b4b4(Ta5d6ff"tools.rnode_flasher.flashing"Tb4b4b4, Tb4b4b4{ Te6edf3percentageTff7b72: Te6edf3flashingProgress Tb4b4b4}Tb4b4b4)
Tff7b72: Te6edf3$tTb4b4b4(Ta5d6ff"tools.rnode_flasher.flash_now"Tb4b4b4)
Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3isFlashingTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"space-y-1.5 pt-1" Te6edf3roleTff7b72=Ta5d6ff"status" Te6edf3aria-liveTff7b72=Ta5d6ff"polite"Tb4b4b4>
Tb4b4b4<Tff7b72v-progress-linear Tb4b4b4:Te6edf3model-valueTff7b72=Ta5d6ff"Te6edf3flashingProgressTa5d6ff" Te6edf3colorTff7b72=Ta5d6ff"green" Te6edf3heightTff7b72=Ta5d6ff"8" Te6edf3rounded Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center justify-between text-[10px] font-mono"Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-gray-500 dark:text-zinc-500 truncate"Tb4b4b4>Tff7b72{{ Te6edf3flashingStatus Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-gray-700 dark:text-zinc-300 font-bold"Tb4b4b4>Tff7b72{{ Te6edf3flashingProgress Tff7b72}}%Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72scriptTb4b4b4>
Tff7b72import Te6edf3MaterialDesignIcon Tff7b72from Ta5d6ff"../MaterialDesignIcon.vue"Tb4b4b4;
Tff7b72export Tff7b72default Tb4b4b4{
Te6edf3nameTff7b72: Ta5d6ff"RNodeFlashAction"Tb4b4b4,
Te6edf3componentsTff7b72: Tb4b4b4{ Te6edf3MaterialDesignIcon Tb4b4b4}Tb4b4b4,
Te6edf3propsTff7b72: Tb4b4b4{
Te6edf3canFlashTff7b72: Tb4b4b4{ Te6edf3typeTff7b72: Tffa657BooleanTb4b4b4, Tff7b72defaultTff7b72: Tff7b72false Tb4b4b4}Tb4b4b4,
Te6edf3isFlashingTff7b72: Tb4b4b4{ Te6edf3typeTff7b72: Tffa657BooleanTb4b4b4, Tff7b72defaultTff7b72: Tff7b72false Tb4b4b4}Tb4b4b4,
Te6edf3flashingProgressTff7b72: Tb4b4b4{ Te6edf3typeTff7b72: Tffa657NumberTb4b4b4, Tff7b72defaultTff7b72: T79c0ff0 Tb4b4b4}Tb4b4b4,
Te6edf3flashingStatusTff7b72: Tb4b4b4{ Te6edf3typeTff7b72: Tffa657StringTb4b4b4, Tff7b72defaultTff7b72: Ta5d6ff"" Tb4b4b4}Tb4b4b4,
Te6edf3errorMessageTff7b72: Tb4b4b4{ Te6edf3typeTff7b72: Tffa657StringTb4b4b4, Tff7b72defaultTff7b72: Tff7b72null Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3emitsTff7b72: Tb4b4b4[Ta5d6ff"flash"Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────